15645
9718
لقد قمت للتو بتثبيت Python 3.6.1 لنظام التشغيل MacOS X.
عندما أحاول تشغيل وحدة التحكم (أو تشغيل أي شيء باستخدام Python3) ، يتم إلقاء هذا الخطأ:
AttributeError: الوحدة النمطية "enum" ليس لها سمة "IntFlag"
$ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
فشل استيراد وحدة الموقع
Traceback (أحدث مكالمة أخيرة):
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py" ، السطر 544 ، في 
الأساسية()
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py" ، السطر 530 ، بشكل رئيسي
known_paths = addusersitepackages (known_paths)
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py" ، السطر 282 ، في addusersitepackages
user_site = getusersitepackages ()
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py" ، السطر 258 ، في getusersitepackages
user_base = getuserbase () # سيؤدي هذا أيضًا إلى تعيين USER_BASE
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py" ، السطر 248 ، في getuserbase
USER_BASE = get_config_var ("قاعدة المستخدم")
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py" ، السطر 601 ، في get_config_var
إرجاع get_config_vars (). الحصول على (الاسم)
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py" ، السطر 580 ، في get_config_vars
استيراد _osx_support
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_osx_support.py" ، السطر 4 ، في 
إعادة الاستيراد
ملف "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/re.py" ، السطر 142 ، في 
فئة RegexFlag (enum.IntFlag):
AttributeError: الوحدة النمطية 'enum' ليس لها سمة 'IntFlag'
الصنف IntFlag موجود داخل enum.py. إذن ، لماذا يتم إلقاء AttributeError؟ 
ذلك لأن التعداد الخاص بك ليس وحدة تعداد المكتبة القياسية. من المحتمل أن يكون لديك حزمة enum34 مثبتة.
طريقة واحدة للتحقق مما إذا كانت هذه هي الحالة هي فحص تعداد الخاصية .__ file__
تعداد الاستيراد
طباعة (تعداد ___ ملف _)
# يجب أن يكون موقع المكتبة القياسي شيئًا مثل
# /usr/local/lib/python3.6/enum.py
منذ لغة python 3.6 ، لم تعد مكتبة enum34 متوافقة مع المكتبة القياسية. المكتبة أيضًا غير ضرورية ، لذا يمكنك ببساطة إلغاء تثبيتها.
إلغاء تثبيت نقطة- y enum34
إذا كنت بحاجة إلى تشغيل الكود على إصدارات بايثون على حد سواء <= 3.4 و> 3.4 ، فيمكنك محاولة استخدام Enum-Compatible كشرط. يقوم فقط بتثبيت enum34 للإصدارات الأقدم من Python بدون تعداد المكتبة القياسي.
|
لست متأكدًا مما إذا كنت لا تزال تواجه هذه المشكلة. واجهت مشكلة مماثلة وتمكنت من حلها ببساطة عن طريق إلغاء ضبط PYTHONPATH
إلغاء ضبط PYTHONPATH $
|
بالنسبة لي ، حدث هذا الخطأ بعد تثبيت مكون gcloud app-engine-python من أجل الاندماج في pycharm. ساعد إلغاء تثبيت الوحدة ، حتى لو لم يتم تحميل pycharm الآن على محرك التطبيقات.
|
إذا جاء أي شخص إلى هنا بسبب تلقي هذا الخطأ أثناء تشغيل مشروع بيئة قياسي Python 3.7 لمحرك تطبيقات Google في PyCharm ، فكل ما عليك فعله هو
تأكد من أن التهيئة المراد تشغيلها تخص Flask ، وليست لتهيئة Google App Engine.
ثم قم بتعطيل دعم Google App Engine ضمن التفضيلات >> اللغات والإطار >> محرك تطبيقات Google
السبب هو حسب هذا الرابط
الهدف العام هو أن يكون تطبيقك محمولا بالكامل ويعمل في أي بيئة Python قياسية. تكتب تطبيق Python قياسيًا ، وليس تطبيق App Engine Python. كجزء من هذا التحول ، لم يعد مطلوبًا منك استخدام واجهات برمجة تطبيقات وخدمات App Engine الخاصة بالوظائف الأساسية لتطبيقك. في الوقت الحالي ، لا تتوفر واجهات برمجة تطبيقات App Engine في وقت تشغيل Python 3.7.
أعتقد أنه عندما أنشأنا مشروع python 3.7 في PyCharm كمشروع محرك تطبيقات Google ، فإنه لا يزال يحاول القيام بنفس الطريقة التي يعمل بها مع تطبيق python2.7
|
إخلاء المسؤولية: من فضلك ، @ juanpa.arrivillaga ، إذا رأيت هذه الإجابة ، فلا تتردد في كتابة إجابتك الخاصة وسأقوم بإزالة هذا المنشور.
@ juanpa.arrivillaga قد ذكر أعلاه:
هل يوجد اسم ملف enum.py في دليل العمل الخاص بك بأي فرصة؟
كانت هذه هي المشكلة التي واجهتها. لم أكن على علم بوحدة التعداد في لغة python في ذلك الوقت وقمت بتسمية ملف الاختبار الخاص بي enum.py.
نظرًا لأن اسم الملف هو اسم الوحدة النمطية ، فقد حدث تعارض. مزيد من المعلومات حول الوحدات هنا: https://docs.python.org/2/tutorial/modules.html
|
أدى تعطيل "Google App Engine Support" في تفضيلات pycharm إلى إصلاح هذه المشكلة بالنسبة لي.
|
عمل تثبيت الإصدار 1.1.8 من enum34 بالنسبة لي.
تمكنت من إصلاح هذا عن طريق إضافة enum34 = "== 1.1.8" إلى pyproject.toml.
يبدو أن Enum34 لديه ميزة في v1.1.8 تتجنب هذا الخطأ ، ولكن
هذا تراجع في v1.1.9 +. هذا مجرد حل بديل بالرغم من ذلك. ال
الحل الأفضل هو أن تستخدم الحزم محددات البيئة
ليس عليك تثبيت enum34 على الإطلاق إلا إذا لزم الأمر.
المصدر: https://github.com/python-poetry/poetry/issues/1122
|
ساعدت إجابة Håken Lid في حل مشكلتي (شكرًا!) ، في حالتي الموجودة في Python3.7 تشغيل Flask في حاوية Docker (من tiangolo / uwsgi-nginx-flask: python3.7-alpine3.7).
في حالتي ، تم تثبيت enum34 بواسطة مكتبة أخرى (pip install smartsheet-python-sdk).
بالنسبة لأولئك القادمين مع مشكلة حاوية Docker مماثلة ، فإليك ملف Docker الأخير الخاص بي (تم تجريده من الأسطر ذات الصلة):
من tiangolo / uwsgi-nginx-flask: python3.7-alpine3.7
...
RUN pip install- متطلبات r
RUN pip uninstall -y enum34
...
|
إذا كان عليك الاحتفاظ بـ PYTHONPATH لكل من python2 و python3 ، فيمكنك كتابة عبارات الاسم المستعار لتعيين PYTHONPATH المناسب في bash_profile:
قم بتشفير متغيرات PYTHONPATH2 و PYTHONPATH3 الخاصة بك في ~ / .bash_profile ، وأضف الأسماء المستعارة التالية في نهايتها:
الاسم المستعار python = 'تصدير PYTHONPATH = $ {PYTHONPATH2} ؛ python'
الاسم المستعار python3 = 'تصدير PYTHONPATH = $ {PYTHONPATH3} ؛ python3'
ثعباني (يشير إلى python2) لأنني أستخدم python2 كثيرًا.
|
عندما أواجه هذه المشكلة:
AttributeError: الوحدة النمطية 'enum' ليس لها سمة 'IntFlag'
ببساطة ، أقوم أولاً بتشغيل الأمر:
إلغاء ضبط بايثونباث
ثم قم بتشغيل الأمر المطلوب ثم حصلت على النجاح في ذلك.
|
لقد فعلت ذلك باستخدام تثبيت Pip  - enum34 المثبت مسبقًا
بمجرد تثبيت المكتبة المطلوبة ، ابحث عن التحذيرات أثناء الإنشاء.
لقد حصلت على خطأ كهذا: استخدام تثبيت setup.py القديم للمستقبل ، نظرًا لأن الحزمة 'wheel' غير مثبتة الخطأ: pyejabberd 0.2.11 به متطلبات enum34 == 1.1.2 ، ولكن سيكون لديك enum34 1.1.10 وهو غير متوافق .
لإصلاح هذه المشكلة الآن ، قم بتشغيل الأمر: pip freeze | تعداد grep34. سيعطيك هذا إصدار enum34 المثبت. الآن قم بإلغاء تثبيته بواسطة pip uninstall enum34 وأعد تثبيت الإصدار المطلوب كتثبيت Pip "enum34 == 1.1.20"
|
إذا كنت تواجه هذه المشكلة عند إجراء الاختبارات في PyCharm ، فتأكد من عدم تحديد المربع الثاني في ملفالتكوينات.
|
لدي Python 2 و Python 3 مثبتين على جهاز الكمبيوتر الخاص بي. لسبب غريب لدي في sys.path من Python 3 أيضًا مسار إلى دليل مكتبة حزم الموقع لـ Python2 عندما يتم استدعاء الوحدة النمطية re. إذا قمت بتشغيل Python 3 واستوردت enum وطباعة (enum .__ file__) ، فلن يعرض النظام مسار Python 2 هذا إلى حزم الموقع. لذا ، فإن الاختراق القاسي والقذر للغاية هو تعديل الوحدة التي يتم استيراد التعداد فيها مباشرةً (اتبع مسارات التتبع) وإدخال الكود التالي قبل استيراد التعداد مباشرةً:
استيراد النظم
بالنسبة لـ i ، p في تعداد (sys.path):
إذا كان "python27" في p.lower () أو "python2.7" في p.lower (): sys.path.pop (i)
تعداد الاستيراد
هذا حل مشكلتي.
|
حتى أنني واجهت هذه المشكلة أثناء تشغيل python -m grpc_tools.protoc --version
اضطررت إلى تعيين PYTHONPATH حتى حزم الموقع وإغلاق جميع نوافذ موجه الأوامر وعملت. آمل أن يساعد مستخدمي gRPC.
|
واجهت هذه المشكلة في ubuntu20.04 في jupyterlab في نواة البيئة الافتراضية الخاصة بي مع python3.8 و tensorflow 2.2.0. كانت رسالة الخطأ
Traceback (أحدث مكالمة أخيرة):
ملف "/usr/lib/python2.7/runpy.py" ، السطر 174 ، في _run_module_as_main
"__main__" ، fname ، مُحمل ، pkg_name)
ملف "/usr/lib/python2.7/runpy.py" ، السطر 72 ، في _run_code
كود exec في run_globals
ملف "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel_launcher.py" ، السطر 15 ، في 
من ipykernel استيراد kernelapp كتطبيق
ملف "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/__init__.py" ، السطر 2 ، في 
من استيراد الاتصال *
ملف "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/connect.py" ، السطر 13 ، في 
من IPython.core.profiledir استيراد ProfileDir
ملف "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/__init__.py" ، السطر 48 ، في 
من تطبيق الاستيراد .core.application
ملف "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/core/application.py" ، السطر 23 ، في 
من traitlets.config.application import Application ، catch_config_error
ملف "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/__init__.py" ، السطر 1 ، في 
من استيراد صور صغيرة *
ملف "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/traitlets.py" ، السطر 49 ، في 
تعداد الاستيراد
ImportError: لا توجد وحدة نمطية باسم enum
كانت المشكلة أنه في الرابط الرمزي في / usr / bin / python كان يشير إلى python2. المحلول:
cd / usr / bin /
sudo ln -sf python3 python
نأمل أن يتوقف استخدام Python 2 تمامًا قريبًا.
|
حصلت على هذه المشكلة أثناء تثبيت مكتبة المحولات من HuggingFace. كان ذلك بسبب تثبيت حزمة الحقائق enum34 في بيئتي التي كانت تتجاوز التعداد المدمج في Python. ربما تم تثبيت هذه الحزمة بواسطة شيء يتعلق بالتوافق الأمامي الذي لم يعد مطلوبًا مع Python 3.6+. لذا فإن الحل ببساطة ،
إلغاء تثبيت نقطة- y enum34
|
لسوء الحظ ، لم تساعدني أي من الاقتراحات ، ولكن بعد المزيد من البحث على Google
نقطة تثبيت aenum
حلها بالنسبة لي
|
إذا واجه أي شخص هذه المشكلة عند محاولة تشغيل Jupyter kernel من Virtualenv ، فما عليك سوى إضافة PYTHONPATH الصحيح إلى kernel.json الخاص بنواة Virtualenv (Python 3 في المثال):
{
"argv": [
"/usr/local/Cellar/python/3.6.5/bin/python3.6" ،
"-m" ،
"ipykernel_launcher" ،
"-F"،
"{connection_file}"
] ،
"display_name": "Python 3 (TensorFlow)" ،
"اللغة": "بيثون"،
"البيئة": {
"بايثون باث": "/ المستخدمون/dimitrijer/git/mlai/.venv/lib/python3.6:/Users/dimitrijer/git/mlai/.venv/lib/python3.6/lib-dynload:/usr/local/ Cellar / python / 3.6.5 / Frameworks / Python.framework / Versions / 3.6 / lib / python3.6: /Users/dimitrijer/git/mlai/.venv/lib/python3.6/site-packages "
}
}
|
اجابتك
StackExchange.ifUsing ("Editor"، function () {
StackExchange.using ("externalEditor"، function () {
StackExchange.using ("snippets"، function () {
StackExchange.snippets.init () ،
}) ؛
}) ؛
}، "مقتطفات الشفرة")؛
StackExchange.ready (الوظيفة () {
var channelOptions = {
العلامات: "" .split ("")،
المعرف: "1"
} ؛
initTagRenderer ("". split ("")، "" .split ("")، channelOptions) ؛
StackExchange.using ("externalEditor"، function () {
// يجب إطلاق المحرر بعد المقتطفات ، إذا تم تمكين المقتطفات
إذا (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using ("snippets"، function () {
createEditor () ،
}) ؛
}
آخر {
createEditor () ،
}
}) ؛
دالة createEditor () {
StackExchange.prepareEditor ({
useStacks محرر: خطأ ،
النوع: "إجابة" ،
autoActivateHeartbeat: خطأ ،
convertImagesToLinks: صحيح ،
noModals: صحيح ،
showLowRepImageUpload تحذير: صحيح ،
السمعة في PostImages: 10 ،
منع bindNav: صحيح ،
postfix: ""،
imageUploader: {
brandingHtml: "مدعوم من \ u003ca href = \" https: //imgur.com/ \ "\ u003e \ u003csvg class = \" svg-icon \ "width = \" 50 \ "height = \" 18 \ "viewBox = \ "0 0 50 18 \" fill = \ "none \" xmlns = \ "http: //www.w3.org/2000/svg \" \ u003e \ u003cpath d = \ "M46.1709 9.17788C46.1709 8.26454 46.2665 7.94324 47.1084 7.58816C47.4091 7.46349 47.7169 7.36433 48.0099 7.26993C48.9099 6.97997 49.672 6.73443 49.672 5.93063C49.672 5.22043 48.98324.61182 48.1414 4.61182C47.4335 4.61182 46.7256 4.91628 46.0943 5.50789C45.7307 4.9328 45.2525 4.66231 44.6595 4.66231C43.6264 4.66231 43.1481 5.28821 43.1481 6.59048 V11.9512C43.1481 13.2535 43.6264 13.89624 13.1481 13.2535 43.6264 13.89624 13.1482 " / \ u003e \ u003cpath d = \ "M32.492 10.1419C32.492 12.6954 34.1182 14.0484 37.0451 14.0484C39.9723 14.0484 41.5985 12.6954 41.5985 10.1419V6.59049C41.5985 5.28821 41.1394 4.66232 C41.5985 5.28821 41.1394 4.66232 40.5985 .5948 10.8521 38.2696 11.5455 37.0451 11.5455C35.8209 11.5455 35.4954 10.8521 35.4954 9.60062V6.59049C35.4954 5.28821 35.0173 4.66232 34.0034 4.66232C32.9703 4.66232 32.492 5.28821 32.492 \ u193 \ u10.14 \ u349 \ u3d \ u3d ملء \ u3d \ "clip-rule = \" evenodd \ "d = \" M25.6622 17.6335C27.8049 17.6335 29.3739 16.9402 30.2537 15.6379C30.8468 14.7755 30.9615 13.5579 30.9615 11.9512V6.59049C30.9615 5.28821 30.4833 4.66231 29.450213 4.9497 8 28.1109 5.50789C27.499 4.86533 26.7335 4.56087 25.7005 4.56087C23.1369 4.56087 21.0134 6.57349 21.0134 9.27932C21.0134 11.9852 23.003 13.913 25.3754 13.913C26.5612 13.913 27.4607 13.4902 28.1107.1 12.125.81 13.4902 28.1107.1 12.125.81 12.983C28.1301 14.4373 27.2502 15.2321 25.777 15.2321C24.8349 15.2321 24.1352 14.9821 23.5661 14.7787C23.176 14.6393 22.8472 14.5218 22.5437 14.5218C21.7977 14.5218 21.2429 15.0123 17.24.24.24.13 7.09766 26.1024 7.09766C27.2119 7.09766 28.0918 7.94324 28.0918 9.27932C28.0918 10.6321 27.2311 11.5116 26.1024 11.5116C24.9737 11.5116 24.1317 10.6491 24.1317 9.27932Z \ "/ \ u003e \ u003cpath d =" 1112C16.2375. 13.8962C19.3298 13.8962 19.8079 13.2535 19.8079 11.9512V8.12928C19.8079 5.82936 18.4879 4.62866 16.4027 4.62866C15.1594 4.62866 14.279 4.98375 13.3609 5.88013C12.653 5.05154 11.6581 4.62866 10.3573 4.62866C9.34336 4.62866 8.57809 4.89931 7.9466 5.5079C7.58314 4.9328 7.10506 4.66232 6.51203 4.66232C5.47873 4.66232 5.00066 5.28821 5.00066 6.59049V 11.9512C5.00066 13.2535 5.47 6.52.87203.896 0232 7.58817 8.44431 6.91179 9.53458 6.91179C10.5104 6.91179 10.893 7.58817 10.893 8.94108V11.9512C10.893 13.2535 11.3711 13.8962 12.4044 13.8962C13.4375 13.8962 13.9157 13.2535 13.9157 11.9512V8.90741 16.917.913.9157 11.9512V8.90741 16.917.913.9157 11.9512V8.9071116.917.913.9157 11.9512V8.90741 16.917.913.9157 11.9512V8.90741 V11.9512Z \ "/ \ u003e \ u003cpath d = \" M3.31675 6.59049C3.31675 5.28821 2.83866 4.66232 1.82471 4.66232C0.791758 4.66232 0.313354 5.28821 0.313354 6.59049V11.9512C0.313354 13.2535 0.791758 13.8962.313354 13.2535 0.791758 13.8962 3.31675 11.9512V6.59049Z \ "/ \ u003e \ u003cpath d = \" M1.87209 0.400291C0.843612 0.400291 0 1.1159 0 1.98861C0 2.87869 0.822846 3.57676 1.87209 3.57676C2.90056 3.57676 3.7234 2.87869 3.7234 1.98861C3.7234 1.1159 2.90056 0.400291 1.87209 0.400291Z \ "fill = \" # 1BB76E \ "/ \ u003e \ u003c / svg \ u003e \ u003c / a \ u003e" ،
contentPolicyHtml: "مساهمات المستخدم مرخصة بموجب \ u003ca href = \" https: //stackoverflow.com/help/licensing \ "\ u003ecc by-sa \ u003c / a \ u003e \ u003ca href = \" https://stackoverflow.com / legal / content-policy \ "\ u003e (سياسة المحتوى) \ u003c / a \ u003e" ،
allowUrls: صحيح
} ،
onDemand: صحيح ،
discardSelector: ".discard-answer"
، على الفور ، شووماركداونيلب: صحيح ، enableTables: صحيح ، enableSnippets: صحيح
}) ؛
}
}) ؛
نشكرك على المساهمة في إجابة Stack Overflow!
من فضلك تأكد من الإجابة على السؤال. قدم التفاصيل وشارك بأبحاثك!
لكن تجنب ...
طلب المساعدة أو التوضيح أو الرد على إجابات أخرى.
الإدلاء بتصريحات تستند إلى الرأي ؛ دعمهم بالمراجع أو الخبرة الشخصية.
لمعرفة المزيد ، راجع نصائحنا حول كتابة إجابات رائعة.
تم حفظ المسودة
تم تجاهل المسودة
الاشتراك أو تسجيل الدخول
StackExchange.ready (الوظيفة () {
StackExchange.helpers.onClickDraftSave ('# login-link') ؛
}) ؛
سجل باستخدام جوجل
قم بالتسجيل باستخدام Facebook
قم بالتسجيل باستخدام البريد الإلكتروني وكلمة المرور
إرسال
انشر كضيف
اسم
البريد الإلكتروني
مطلوب ، لكن لم يظهر قط
StackExchange. جاهز (
وظيفة () {
StackExchange.openid.initPostLogin ('new-post-login'، 'https٪ 3a٪ 2f٪ 2fstackoverflow.com٪ 2fquestions٪ 2f43124775٪ 2fwhy-python-3-6-1-throws-attributeerror-module-enum-has- no-attribute-intflag٪ 23new-answer '،' question_page ')؛
}
) ؛
انشر كضيف
اسم
البريد الإلكتروني
مطلوب ، لكن لم يظهر قط
انشر إجابتك
تجاهل
بالنقر فوق "نشر إجابتك" ، فإنك توافق على شروط الخدمة وسياسة الخصوصية وسياسة ملفات تعريف الارتباط
ليس الجواب الذي تبحث عنه؟ تصفح الأسئلة الأخرى الموسومة بعلامات python python-3.x تعداد خطأ سمة python-3.6 أو اطرح سؤالك الخاص.